<?php

//正则表达式，匹配img里的src值放入数组
function getImages($contentStr = "")
{
    $imgSrcArr = [];
    //首先将富文本字符串中的 img 标签进行匹配
    $pattern_imgTag = '/<img\b.*?(?:\>|\/>)/i';
    preg_match_all($pattern_imgTag, $contentStr, $matchIMG);
    if (isset($matchIMG[0])) {
        foreach ($matchIMG[0] as $key => $imgTag) {
            //进一步提取 img标签中的 src属性信息
            $pattern_src = '/\bsrc\b\s*=\s*[\'\"]?([^\'\"]*)[\'\"]?/i';
            preg_match_all($pattern_src, $imgTag, $matchSrc);
            if (isset($matchSrc[1])) {
                foreach ($matchSrc[1] as $src) {
                    //将匹配到的src信息压入数组
                    $imgSrcArr[] = $src;
                }
            }
        }
    }

    $new_image_arr = [];
    if(count($imgSrcArr)>3){
        //最多三个
        for ($i=0;$i<=2;$i++){
            $new_image_arr[] = $imgSrcArr[$i];
        }
    }

    return $new_image_arr;
}


/**
 * 提取富文本中的纯文字
 * addtime 2020年8月10日 09:45:20
 * @param [type] $string 字符串
 * @return void
 */
function getShowText($string)
{
    if($string){
        // 把一些预定义的 HTML 实体转换为字符
        // 预定义字符是指:<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用
        $html_string = htmlspecialchars_decode($string);
        // 将空格去除
        $content = str_replace(" ", "", $html_string);
        // 去除字符串中的 HTML 标签
        $contents = strip_tags($content);
        // 设置截取的字数
        $num = 50;
        // 利用三元运算判断文字是否超出设置的字数进行截取
        return mb_strlen($contents,'utf-8') > $num ? mb_substr($contents, 0, $num, "utf-8").'[...]' : mb_substr($contents, 0, $num, "utf-8");
    }else{
        return false;
    }
}

function curl_get($url,$data=[])
{
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($curl, CURLOPT_TIMEOUT, 30);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Linux; Android 6.0.1; Nexus 5X Build/MMB29P)');//这里设置UserAgent
    if (!empty($data)) {
        curl_setopt($curl, CURLOPT_POST, true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
    }
    $output = curl_exec($curl);
    curl_close($curl);

    $res = json_decode($output,true);
    return $res;
}



//图片地址转换-http://localhost:8500
function imageChange($str){
//    $host = "http://localhost:8500";
//    $local = env('IMAGE_PATH');
//    if(is_array($str)){
//        foreach ($str as &$item){
//            if(mb_strstr($item,$host) && $host!=$local){
//                //存在
//                $item = str_replace($host,$local,$item);
//            }
//        }
//    }else if (is_string($str)){
//        if(mb_strstr($str,$host) && $host!=$local){
//            //存在
//            $str = str_replace($host,$local,$str);
//        }
//    }
//    return $str;

    $host = "http://localhost:8500";
    $local = env('IMAGE_PATH');
    if(is_array($str)){
        foreach ($str as &$item){
            if(mb_strstr($item,$host) && $host!=$local){
                //存在
                $item = str_replace($host,$local,$item);
            }else{
                $item = $local.$item;
            }
        }
    }else if (is_string($str)){
        if(mb_strstr($str,$host) && $host!=$local){
            //存在
            $str = str_replace($host,$local,$str);
        }
    }
    return $str;
}


/**
 * 提取富文本中的纯文字
 * addtime 2020年8月10日 09:45:20
 * @param [type] $string 字符串
 * @return void
 */
function getStringText($string)
{
    if($string){
        // 把一些预定义的 HTML 实体转换为字符
        // 预定义字符是指:<,>,&等有特殊含义(<,>,用于链接签,&用于转义),不能直接使用
        $html_string = htmlspecialchars_decode($string);
        // 将空格去除
        $content = str_replace(" ", "", $html_string);
        // 去除字符串中的 HTML 标签
        $contents = strip_tags($content);
        // 设置截取的字数
        $num = 50;
        // 利用三元运算判断文字是否超出设置的字数进行截取
        return mb_strlen($contents,'utf-8') > $num ? mb_substr($contents, 0, $num, "utf-8").'...' : mb_substr($contents, 0, $num, "utf-8");
    }else{
        return false;
    }
}


//将cookie加密成token md5加密
function token($str)
{
    $token = md5($str);

    return $token;
}

/**
 * @param $cookie
 * @return string
 */
function cookieMd5($cookie)
{
    return md5($cookie);
}
